<?php namespace Common\Model;
use Hdphp\Model\Model;
//商品分类管理模型
class Cate extends  Model{
	//指定表名
	protected $table="classify";
	//自动验证
	protected $validate=array(
		array('cname','required','商品分类不为空',3,3),
		array('cname','maxlen:20','分类名称不能超过20字符',3,3),
		array('sort','num:0,65535','排序范围0-65535',3,3)
	);
	//自定义store方法
	public function store(){
		//调用框架的create方法，触发自动验证
		if($this->create()){
			return $this->add();
		}else{
			return false;
		}
	}
	//模型编辑方法
	public function edit(){
	 	///执行自动验证
	 	if($this->create()){
	 		$this->save();
			return true;
	 	}
		return FALSE;
	}
	//获得除了自己和自己的子集，被分类控制器方法所调用
	public function getNoMy($cid){
		//获得当前分类的子集的cid
		$cids=$this->getSon($this->get(),$cid);
		//把自己的cid压入
		$cids[]=$cid;
		//获得除了自己和自己的子集的数据
		$data=$this->where("cid NOT IN(".implode(',',$cids).")")->get();
		$data=Data::tree($data,'cname');
		return $data;
		
	}
	//获得所有的子集cid
	public function getSon($data,$cid){
		$temp=array();
		foreach($data as $v){
			if($v['pid']==$cid){
				$temp[]=$v['cid'];
				$temp=array_merge($temp,$this->getSon($data,$v['cid']));
			}
		}
		return $temp;
		
	}
}


 ?>